﻿package mortal.game.view.loginNotice
{
    import com.mui.containers.*;
    import com.mui.controls.*;
    import extend.language.*;
    import flash.display.*;
    import flash.text.*;
    import mortal.common.global.*;
    import mortal.game.view.common.*;

    public class LoginNoticeBody extends GBox
    {
        private var _addTitle:GTextFiled;
        private var _updateTitle:GTextFiled;
        private var _px:int = 80;

        public function LoginNoticeBody()
        {
            return;
        }// end function

        public function addList(param1:Array) : void
        {
            var _loc_2:int = 0;
            var _loc_3:int = 0;
            var _loc_4:LoginNoticeItem = null;
            var _loc_5:LoginNoticeInfo = null;
            var _loc_6:int = 0;
            if (param1.length > 0)
            {
                if (!this._addTitle)
                {
                    this._addTitle = UIFactory.gTextField(Language.getString(11801), 0, 0, 70, 20, this, GlobalStyle.textFormatBai.setColor(16754688));
                }
                _loc_3 = param1.length;
                while (_loc_2 < _loc_3)
                {
                    
                    _loc_5 = param1[_loc_2];
                    _loc_4 = UIFactory.getUICompoment(LoginNoticeItem, 0, 0, this);
                    _loc_4.updateData(_loc_5);
                    _loc_2++;
                }
                _loc_6 = this.getItemBoxPos(0);
                _loc_2 = 0;
                _loc_3 = numChildren;
                while (_loc_2 < _loc_3)
                {
                    
                    _loc_4 = getChildAt(_loc_2) as LoginNoticeItem;
                    if (_loc_4 && _loc_4.type == 0 && _loc_4.hasItemBox())
                    {
                        _loc_4.updateBoxPos(_loc_6);
                    }
                    _loc_2++;
                }
            }
            return;
        }// end function

        public function updateList(param1:Array) : void
        {
            var _loc_2:int = 0;
            var _loc_3:int = 0;
            var _loc_4:LoginNoticeItem = null;
            var _loc_5:LoginNoticeInfo = null;
            var _loc_6:int = 0;
            if (param1.length > 0)
            {
                if (!this._updateTitle)
                {
                    this._updateTitle = UIFactory.gTextField(Language.getString(11802), 0, 0, 70, 20, this, GlobalStyle.textFormatBai.setColor(16754688));
                }
                _loc_3 = param1.length;
                while (_loc_2 < _loc_3)
                {
                    
                    _loc_5 = param1[_loc_2];
                    _loc_4 = UIFactory.getUICompoment(LoginNoticeItem, 0, 0, this);
                    _loc_4.updateData(_loc_5);
                    _loc_2++;
                }
                _loc_6 = this.getItemBoxPos(1);
                _loc_2 = 0;
                _loc_3 = numChildren;
                while (_loc_2 < _loc_3)
                {
                    
                    _loc_4 = getChildAt(_loc_2) as LoginNoticeItem;
                    if (_loc_4 && _loc_4.type == 1 && _loc_4.hasItemBox())
                    {
                        _loc_4.updateBoxPos(_loc_6);
                    }
                    _loc_2++;
                }
            }
            return;
        }// end function

        public function getItemBoxPos(param1:int) : int
        {
            var _loc_2:int = 0;
            var _loc_4:LoginNoticeItem = null;
            var _loc_5:int = 0;
            var _loc_6:int = 0;
            var _loc_3:* = numChildren;
            while (_loc_2 < _loc_3)
            {
                
                _loc_4 = getChildAt(_loc_2) as LoginNoticeItem;
                if (_loc_4 && _loc_4.type == param1 && _loc_4.hasItemBox())
                {
                    _loc_6 = _loc_4.textWidth;
                    if (_loc_6 > _loc_5)
                    {
                        _loc_5 = _loc_6;
                    }
                }
                _loc_2++;
            }
            return _loc_5;
        }// end function

        public function clearVersion() : void
        {
            var _loc_1:DisplayObject = null;
            var _loc_2:* = numChildren - 1;
            while (_loc_2 >= 0)
            {
                
                _loc_1 = getChildAt(_loc_2);
                if (_loc_1 is Shape)
                {
                    _loc_2 = _loc_2 - 1;
                    continue;
                }
                else if (_loc_1 is LoginNoticeItem)
                {
                    (_loc_1 as LoginNoticeItem).dispose();
                }
                _loc_2 = _loc_2 - 1;
            }
            return;
        }// end function

        protected function get maxWidth() : int
        {
            var _loc_1:int = 0;
            var _loc_3:LoginNoticeItem = null;
            var _loc_4:int = 0;
            var _loc_5:int = 0;
            var _loc_2:* = numChildren;
            while (_loc_1 < _loc_2)
            {
                
                _loc_3 = getChildAt(_loc_1) as LoginNoticeItem;
                if (_loc_3)
                {
                    _loc_5 = _loc_3.width;
                    if (_loc_5 > _loc_4)
                    {
                        _loc_4 = _loc_5;
                    }
                }
                _loc_1++;
            }
            return _loc_4;
        }// end function

        public function updatePox(param1:int) : void
        {
            this._px = param1;
            if (this._px > 80)
            {
                this._px = this._px - 40;
            }
            this.resetPosition();
            return;
        }// end function

        override protected function resetPosition() : void
        {
            var _loc_1:int = 0;
            var _loc_4:DisplayObject = null;
            var _loc_2:int = 0;
            var _loc_3:* = this.numChildren;
            _loc_1 = 0;
            while (_loc_1 < _loc_3)
            {
                
                _loc_4 = this.getChildAt(_loc_1);
                if (_loc_4 is Shape)
                {
                }
                else
                {
                    _loc_4.x = this._px;
                    _loc_4.y = _loc_2 + verticalGap;
                    if (_loc_4 is TextField)
                    {
                        if (_loc_1 != 0)
                        {
                            _loc_4.y = _loc_4.y + 20;
                        }
                    }
                    _loc_2 = _loc_4.y + _loc_4.height;
                }
                _loc_1++;
            }
            return;
        }// end function

        override public function get width() : Number
        {
            var _loc_1:int = 0;
            if (this._addTitle && contains(this._addTitle) || this._updateTitle && contains(this._updateTitle))
            {
                _loc_1 = 60;
            }
            _loc_1 = _loc_1 + this.maxWidth;
            return _loc_1;
        }// end function

        override public function get height() : Number
        {
            var _loc_1:int = 0;
            var _loc_3:int = 0;
            var _loc_4:DisplayObject = null;
            var _loc_2:* = numChildren;
            while (_loc_1 < _loc_2)
            {
                
                _loc_4 = getChildAt(_loc_1);
                if (_loc_4 is Shape)
                {
                    _loc_1++;
                    continue;
                }
                _loc_3 = _loc_3 + (_loc_4.height + this.verticalGap);
                _loc_1++;
            }
            if (this._updateTitle && contains(this._updateTitle))
            {
                _loc_3 = _loc_3 + 60;
            }
            return _loc_3;
        }// end function

        override public function disposeChild(param1:Boolean = true) : void
        {
            super.disposeChild(param1);
            this._addTitle = null;
            this._updateTitle = null;
            return;
        }// end function

    }
}
